package com.unione.cloud.ums.model;
import org.beetl.sql.annotation.entity.Table;
import org.beetl.sql.mapper.annotation.SqlResource;

import com.unione.cloud.beetsql.annotation.DataPermis;
import com.unione.cloud.core.model.Pojo;
import com.unione.cloud.core.model.Validator;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @标题 	UmsMessageTarget Entity
 * @描述	统一消息：消息对象
 * @作者	Unione Cloud CodeGen
 * @日期	2025-06-19 08:40:47
 * @版本	1.0.0
 **/
@Data
@Builder
@DataPermis
@SqlResource("ums.UmsMessageTarget")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Table(name="ums_message_target")
public class UmsMessageTarget extends Pojo {
	/**
	* 消息ID
	*/
	@Schema(title="消息ID",description="长度为：19")
	@NotNull(message = "消息ID不能为空",groups = {Validator.save.class,Validator.update.class})
	private Long messageId;
	/**
	* 目标类型，字典UMSMSGTARGET 1：全局，2：租户，3：机构，4：用户，5：角色
	*/
	@NotNull(message = "目标类型不能为空",groups = {Validator.save.class,Validator.update.class})
	@Schema(title="目标类型，字典UMSMSGTARGET 1：全局，2：租户，3：机构，4：用户，5：角色",description="长度为：10")
	private Integer targetType;
	/**
	* 目标ID
	*/
	@Schema(title="目标ID",description="长度为：19")
	@NotNull(message = "目标ID不能为空",groups = {Validator.save.class,Validator.update.class})
	private Long targetId;
	/**
	* 目标名称
	*/
	@Schema(title="目标名称",description="长度为：200")
	@NotNull(message = "目标名称不能为空",groups = {Validator.save.class,Validator.update.class})
	@NotBlank(message = "目标名称不能为空",groups = {Validator.save.class,Validator.update.class})
	private String targetName;

}
